The positioning of a moving object, such as a moving platform (e.g. a vessel, vehicle, wheel-based platform/vehicle, a person), or a device tethered or non-tethered within the moving platform, is commonly achieved using known reference-based systems, such as Global Navigation Satellite Systems (GNSS). GNSS comprises a group of satellites, that transmit encoded signals, and receivers on the ground that receive the signals, and by means of trilateration techniques, can be used to calculate position using the travel time of the satellites' signals and information about the satellites' current location.
Currently, the most popular form of GNSS for obtaining absolute position measurements is the global positioning system (GPS), which is capable of providing accurate position and velocity information about the moving object, provided that there is sufficient satellite coverage. However, where the satellite signal becomes disrupted or blocked such as, for example, in urban settings, tunnels and other GNSS-degraded or GNSS-denied environments, a degradation or interruption or “gap” in the GPS positioning information can result.
In order to achieve more accurate, consistent and uninterrupted positioning information, GNSS information may be augmented with additional positioning information obtained from complementary positioning systems. Such systems may be self-contained and/or “non-reference based” systems within the moving object, and thus need not depend upon external sources of information that can become interrupted or blocked.
One such “non-reference based” or relative positioning system is the inertial navigation system (INS). Inertial sensors are self-contained sensors within the moving object that use gyroscopes to measure the object's rate of rotation/angle, and accelerometers to measure the object's specific force (from which acceleration is obtained). Using initial estimates of position, velocity and orientation angles of the moving object as a starting point, the INS readings can subsequently be integrated over time and used to determine the current position, velocity and orientation angles of the moving object. Typically, measurements are integrated once for gyroscopes to yield orientation angles and twice for accelerometers to yield position of the moving object incorporating the orientation angles. Thus, gyroscope measurements will undergo a triple integration operation during the process of yielding position. Inertial sensors alone, however, are unsuitable for accurate positioning because the required integration operations of data results in positioning solutions that drift with time, thereby leading to an unbounded accumulation of errors.
Given that each positioning technique described above (GNSS and INS) may suffer loss of information or errors in data, common practice involves integrating the information/data obtained from the GNSS with that of the complementary INS system. For instance, to achieve a better positioning solution, INS and GPS data may be integrated because they have complementary characteristics. INS readings are accurate in the short-term, but their errors increase without bounds in the long-term due to inherent sensor errors. GNSS readings are not as accurate as INS in the short-term, but GNSS accuracy does not decrease with time, thereby providing long-term accuracy. Also, GNSS may suffer from outages due to signal blockage, multipath effects, interference or jamming, while INS is immune to these effects.
The integration of INS and GNSS rely on a filtering technique or a state estimation technique such as, for example, Kalman filter (KF), Linearalized KF (LKF), Extended KF (EKF), Unscented KF (UKF), and Particle filter (PF) among others.
The KF estimates the system state at some time point and then obtains observation “updates” in the form of noisy measurements. As such, the equations for the KF fall into two groups:                Time update or “prediction” equations: used to project forward in time the current state and error covariance estimates to obtain an a priori estimate for the next step, or        Measurement update or “correction” equations: used to incorporate a new measurement into the a priori estimate to obtain an improved posteriori estimate.        
Ideally, the integration of INS and GNSS information can occur almost immediately following the receipt of the information and its transfer to the processor, thereby providing a real-time navigation solution. What enables this is that the information received by the GNSS receiver is timed stamped with a pulse signal (such as, for example, a Pulse Per Second (PPS) signal or any other pulsing signal coming from the GNSS receiver) that denotes the time at which the GNSS information should have ideally been at the processor, and the processor can utilize the pulse signal to time-stamp and “link-up” the incoming GNSS information with the appropriate INS information to create a real-time solution.
Theoretically, the GNSS information is time-stamped at the instant when the pulse signal is generated, and in INS/GNSS integration, the GNSS update (i.e. the point at which the GNSS or absolute information is used as a measurement update in the state estimation technique or integration filter) should happen at the same time that the pulse occurs, or in other words should ideally happen at the state of the moving object when the pulse occurs. This is only possible in an ideal scenario where the GNSS information reaches the integration together with the pulse signal. In such scenarios, the GNSS measurement update would be received and processed by the processor before the processor uses the prediction based upon new inertial data.
Problems in real-time systems arise, however, in circumstances where the GNSS information reaches the processor later than the pulse signal, making it difficult to accurately link up the GNSS information with the INS information being updated. This is because the real-time INS/GNSS integrated system needs to output a real-time output at the high rate, and the prediction phase has to be performed using the real-time high rate input from the inertial sensors as soon as it is received by the processor, without waiting for the delayed GNSS information.
The GNSS information can be delayed for a number of reasons, such as:                GNSS receiver processing time (i.e. the time required by the GNSS receiver to perform the necessary calculations on the information received). This time can vary depending upon the type and speed of GNSS technique used, such as, for example, single point, differential, real-time kinematics (RTK) and precise point positioning (PPP). The calculations that need to be performed in each case will differ, and thus, the duration needed will also differ; and        Transmission time (i.e. the time required to prepare the data for transmission and to transmit the GNSS information from the GNSS receiver to the processor).        Delays that may happen on the processor that will run the navigation algorithm that can make the navigation solution to receive the GNSS information later, one example of such delays may happen if this processor is running other applications.        
As a result, the high-rate data from the inertial sensors, which is transmitted from the sensor assembly after the pulse signal for the GNSS data is generated, ends up being received by the processor before the GNSS data. Thus, the processor receives the pulse signal, the new high rate inertial sensor information and then the GNSS information.
In other words, problems with current real-time navigational solutions comprise:                a delay in transmission between the GNSS (absolute) navigational information compared to its corresponding time-stamp pulse signal and its subsequent usage for measurement update has to be delayed when the data reaches the integrated navigation processor. The update should ideally occur at the time that the pulse signal is generated (i.e. before the high-rate inertial sensor data that arrived after the pulse signal but before the delayed GNSS information arrived). In order to keep the physical and mechanical aspect of the true motion that happened in the real-life situation correct, the GNSS measurement update should happen before using prediction based on the inertial data that arrived after the pulse signal; and        the need for a system that is capable of receiving and processing information at the high rate of the inertial sensors, thereby providing a real-time periodic navigation output. This means that the prediction phase has to be performed using the real-time high rate input from inertial sensors as soon as it arrives and this solution needs to be output without waiting for any other event to happen.        
There is a need, therefore, for a apparatus and method of providing a real-time navigation solution about a moving object that is capable of rectifying the foregoing limitations and achieving the conflicting goals while not breaking the physical and mechanical aspects of the object's true motion.